package org.csu.service;


import org.csu.entity.Book;
import org.csu.entity.BookQuery;
import org.csu.validator.ValidationResult;
import org.csu.vo.BaseResponse;
import org.springframework.http.ResponseEntity;
import org.springframework.web.multipart.MultipartFile;

public interface BookManageService {
    public String  getBookList(BookQuery query, Integer pageNum);
    public String getBookDetail(Integer bookId);
    public ResponseEntity<BaseResponse<Book>> addBook(Book book, MultipartFile coverFile);
    public ResponseEntity<BaseResponse<Boolean>> updateBook(Book book);
    public ResponseEntity<BaseResponse<Boolean>> deleteBook(Integer bookId);
    public ResponseEntity<BaseResponse<Boolean>> shelveBook(Integer bookId);
    public ResponseEntity<BaseResponse<Boolean>> unshelveBook(Integer bookId);

    public ValidationResult validateBookInfo(Book book);
    public String processBookCover(MultipartFile file);
    public Boolean updateBookStatus(Integer bookId, String status);
}
